Skip to content

docs: Align README with '5 Core Principles' from Medium article#21

Merged
takeshishimada merged 1 commit intomainfrom
docs/align-readme-with-5-core-principles
Oct 31, 2025
Merged

docs: Align README with '5 Core Principles' from Medium article#21
takeshishimada merged 1 commit intomainfrom
docs/align-readme-with-5-core-principles

Conversation

@takeshishimada
Copy link
Copy Markdown
Contributor

Summary

  • Updated README.md and README_jp.md to align with the "5 Core Principles" structure from MEDIUM_ARTICLE_EN.md
  • This creates consistency across all documentation (README, CoreConcepts.md, Medium articles)

The 5 Core Principles

1. Unidirectional Data Flow (newly added ✨)

  • What: Explains Action → Handler → State → View
  • Why: This fundamental principle was missing from README
  • Benefit: Users immediately understand Flow's architecture

2. View-Local State (evolved from "No Global Store")

  • Before: "No Global Store" - focused on what it doesn't have
  • After: "View-Local State" - emphasizes SwiftUI alignment
  • Improvement: Clearer philosophical alignment with SwiftUI

3. Result-Returning Actions (simplified)

  • Before: Long parent-child communication example
  • After: Concise save/navigate example
  • Improvement: Easier to grasp quickly

4. MainActor Isolation (evolved from "Swift 6 Concurrency")

  • Before: "Swift 6 Concurrency" - technical feature name
  • After: "MainActor Isolation" - emphasizes the benefit
  • Improvement: Highlights Flow's distinctive feature (direct state updates)

5. @observable Support (simplified)

  • Before: Listed detailed benefits
  • After: Concise 3-point summary
  • Improvement: Matches README's concise style

What Was Removed

"Observable Actions" (Middleware)

  • Not a core principle of Flow's architecture
  • Middleware is a useful feature but secondary
  • Users can discover it through full documentation

Consistency Achieved

This PR creates consistency across:

All documents now tell the same story with the same structure.

Statistics

  • Lines changed: 123 insertions, 238 deletions
  • Net reduction: 115 lines (more concise!)
  • Principles covered: 5 (was missing Unidirectional Data Flow)

Before & After

Before

## Key Features
### No Global Store
### Result-Returning Actions
### @Observable Support
### Swift 6 Concurrency
### Observable Actions

After

## The 5 Core Principles
### 1. Unidirectional Data Flow
### 2. View-Local State
### 3. Result-Returning Actions
### 4. MainActor Isolation
### 5. @Observable Support

Test Plan

  • Review alignment with MEDIUM_ARTICLE_EN.md
  • Verify README.md and README_jp.md match in structure
  • Check that all code examples are correct
  • Confirm consistency with CoreConcepts.md

🤖 Generated with Claude Code

Updated both README.md and README_jp.md to match the "5 Core Principles"
structure from MEDIUM_ARTICLE_EN.md:

1. Unidirectional Data Flow (newly added)
   - Explains the fundamental flow: Action → Handler → State → View
   - Emphasizes predictability and debuggability

2. View-Local State (evolved from "No Global Store")
   - Emphasizes alignment with SwiftUI's philosophy
   - Highlights no global stores or store hierarchies

3. Result-Returning Actions (simplified)
   - More concise code examples
   - Clear benefits: functional patterns, parent controls side effects

4. MainActor Isolation (evolved from "Swift 6 Concurrency")
   - Emphasizes direct state updates in async context
   - Benefits: code locality, intuitive, compile-time safety

5. @observable Support (simplified)
   - Kept concise with essential benefits

Removed:
- "Observable Actions" section (middleware is not a core principle)
  Users can discover middleware through documentation

This creates consistency across:
- README.md / README_jp.md
- CoreConcepts.md (already updated in PR #20)
- MEDIUM_ARTICLE_EN.md / MEDIUM_ARTICLE_JP.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Oct 31, 2025
@takeshishimada takeshishimada merged commit a8b000b into main Oct 31, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant